agent: Create framework of scheduled timers.
authorDaniel Kahn Gillmor <dkg@fifthhorseman.net>
Tue, 1 Nov 2016 01:27:36 +0000 (21:27 -0400)
committerDaniel Kahn Gillmor <dkg@fifthhorseman.net>
Sat, 15 Dec 2018 01:17:16 +0000 (01:17 +0000)
commit3e69424b79688d6408a8d733db40f045b197cc3d
tree2057c561d78c0e2a9d2d97aa35bebac027fb9bc3
parent7d20788230675036303680d72f1ec9b9bba9b0b0
agent: Create framework of scheduled timers.

agent/gpg-agent.c (handle_tick): Remove intermittent call to
check_own_socket.
(tv_is_set): Add inline helper function for readability.
(handle_connections) Create general table of pending scheduled
timeouts.

--

handle_tick() does fine-grained, rapid activity.  check_own_socket()
is supposed to happen at a different interval.

Mixing the two of them makes it a requirement that one interval be a
multiple of the other, which isn't ideal if there are different delay
strategies that we might want in the future.

Creating an extensible regular timer framework in handle_connections
should make it possible to have any number of cadenced timers fire
regularly, without requiring that they happen in cadences related to
each other.

It should also make it possible to dynamically change the cadence of
any regularly-scheduled timeout.

Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
Gbp-Pq: Topic gpg-agent-idling
Gbp-Pq: Name agent-Create-framework-of-scheduled-timers.patch
agent/gpg-agent.c